1. Field of Use
The present invention relates to the testing of functional units in a data processing system.
2. Prior Art
A recurring problem in data processing systems is that of detecting when faults or errors occur in the functional units of the system, for example, the central processing units of the system. While systems of the prior art have provided means for detecting errors and faults in the system units, the methods used for fault detection means have fallen into two classes, neither completely satisfactory.
One type of fault detection used in the systems of the prior art may be described as "passive" detection, that is, the units of the system included various means for detecting errors or faults in the operation of the unit and notifying a system administrator unit or the operator that a fault had occurred. One problem with this approach was that a system unit may be inoperative for an extended period before the fault is detected by the system administrator and another was that the fault might be such as to prevent the unit from notifying the system administrator of the fault. In this latter case, the fault would most probably be detected when another unit of the system attempted an operation involving the failed unit and gave notice that the attempted operation had failed. In either case, the system could, in fact, be inoperative in important aspects for an extended period before the fault was detected.
In another approach of the prior art, which could be described as "active" detection, a system administrator unit would run fault and error detection operations on the other units of the system, for example, sending commands requiring that the various system units perform selected test operations and noting the results of those test operations. One problem with this approach is that such tests require an excessive amount of system unit and system bus time, indictably reducing the capability of the system to perform useful work. As a result, such tests were run infrequently, and often only after a "passive" fault detection scheme had indicated that there was reason to run fault detection and isolation tests.
The method and apparatus of the present invention for performing "health" tests of the units of a data processing system provides a solution to these and other problems of the prior art.